From: Rui Matos Date: Thu, 21 Jul 2011 17:58:43 +0000 (+0100) Subject: altTab: make thumbnails scroll to right if needed at first Alt+Shift+Above_Tab X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7799 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=28bb0c1fb2fe6e8f8f6560fe885af46a13d37e6f;p=gnome-shell.git altTab: make thumbnails scroll to right if needed at first Alt+Shift+Above_Tab Force an allocation at thumbnails creation so we can figure out whether we need to scroll when selecting. We also need to show() the whole AltTabPopup before calling _select() so that, when computing the scrolling offset, the widgets already have their styles loaded. Otherwise we will miss the switcher list item container's spacing. https://bugzilla.gnome.org/show_bug.cgi?id=655069 --- diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 0d2ae3960..cbe6f6c48 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -147,6 +147,8 @@ AltTabPopup.prototype = { // Need to force an allocation so we can figure out whether we // need to scroll when selecting + this.actor.opacity = 0; + this.actor.show(); this.actor.get_allocation_box(); // Make the initial selection @@ -186,7 +188,7 @@ AltTabPopup.prototype = { // disturbed by the popup briefly flashing. this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT, Lang.bind(this, function () { - this.actor.show(); + this.actor.opacity = 255; this._initialDelayTimeoutId = 0; })); @@ -479,6 +481,10 @@ AltTabPopup.prototype = { this.actor.add_actor(this._thumbnails.actor); + // Need to force an allocation so we can figure out whether we + // need to scroll when selecting + this._thumbnails.actor.get_allocation_box(); + this._thumbnails.actor.opacity = 0; Tweener.addTween(this._thumbnails.actor, { opacity: 255,